A symbolic Java virtual machine for test case generation

نویسندگان

  • Roger A. Müller
  • Christoph Lembeck
  • Herbert Kuchen
چکیده

Quality management is becoming a more and more important part of the software development process. As software testing is currently understood as the core function of the quality managment, developers start using software testing tools to facilitate their work. However most existing tools just manage given sets of test cases and check them against pre-defined testing criteria. The necessary test case discovery is usually up to user, who has to generate the test cases in an ad-hoc approach with only minimal support from the software. GlassTT, the tool we present in this paper, faces this problem by creating the needed test cases for a given criterion for a Java class file. It uses a symbolic Java virtual machine to generate constraints representing the conditions for the control flow under consideration. The system can employ a parameterizeable test criterion such as data-flow coverage. The constraint solvers embedded in the tool are capable of solving linear and non-linear constraints, which is sufficient for almost all constraints encountered in the execution of Java programs. They are encapsulated in an incremental constraint solver manager, which dynamically chooses an appropriate constraint solver and enables the efficient communication between constraint solvers and symbolical virtual machine.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Symbolic execution and timed automata model checking for timing analysis of Java real-time systems

This paper presents SYMRT, a tool based on a combination of symbolic execution and real-time model checking for timing analysis of Java systems. Symbolic execution is used for the generation of a safe and tight timing model of the analyzed system capturing the feasible execution paths. The model is combined with suitable execution environment models capturing the timing behavior of the target h...

متن کامل

Constraint Solving for Generating Glass-Box Test Cases

Glass-box testing tries to cover paths through the tested code, based on a given criterion such as def-use chain coverage. When generating glass-box test cases manually, the user is likely to overlook some def-use chains. Moreover it is difficult to find suitable test cases which cause certain def-use chains to be passed. We have developed a tool which automatically generates a system of test c...

متن کامل

Test case generation for object-oriented imperative languages in CLP

Testing is a vital part of the software development process. Test Case Generation (TCG) is the process of automatically generating a collection of test-cases which are applied to a system under test. White-box TCG is usually performed by means of symbolic execution, i.e., instead of executing the program on normal values (e.g., numbers), the program is executed on symbolic values representing a...

متن کامل

Byte Code Genetic Programming

This paper explores the idea of using Genetic Programming (GP) to evolve Java Virtual Machine (JVM) byte code to solve a sample symbolic regression problem. The evolutionary process is done completely in memory using a standard Java environment.

متن کامل

An asynchronous Java interface to MATLAB

MATLAB, an interactive environment for numerical and symbolic computation, supports a number of interfaces to foreign programming languages including Java. However, there is no appropriate support for calling back MATLAB functions from within the Java Virtual Machine integrated with MATLAB. This paper presents such an interface which is based exclusively on documented and portable mechanisms su...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004